home *** CD-ROM | disk | FTP | other *** search
/ CD ROM Paradise Collection 4 / CD ROM Paradise Collection 4 1995 Nov.iso / program / swagd_f.zip / DRIVES.SWG / 0014_Find LASTDRIVE in ASM.pas < prev    next >
Pascal/Delphi Source File  |  1993-05-28  |  770b  |  38 lines

  1. Function LastDrive: Char; Assembler;
  2. Asm
  3.   mov   ah, 19h
  4.   int   21h
  5.   push  ax            { save default drive }
  6.   mov   ah, 0Eh
  7.   mov   dl, 19h
  8.   int   21h
  9.   mov   cl, al
  10.   dec   cx
  11. @@CheckDrive:
  12.   mov   ah, 0Eh       { check if drive valid }
  13.   mov   dl, cl
  14.   int   21h
  15.   mov   ah, 19h
  16.   int   21h
  17.   cmp   cl, al
  18.   je    @@Valid
  19.   dec   cl            { check next lovest drive number }
  20.   jmp   @@CheckDrive
  21. @@Valid:
  22.   pop   ax
  23.   mov   dl, al
  24.   mov   ah, 0Eh
  25.   int   21h           { restore default drive }
  26.   mov   al, cl
  27.   add   al, 'A'
  28. end;
  29.  
  30.  
  31. (*
  32. LastDrive will return letter of the last valid drive. To check
  33. if the drive letter entered is valid:
  34.  
  35. if Upcase(DriveLetter) <= LastDrive
  36.    then {valid drive}
  37.    else {bad drive};
  38. *)